package cms.common;

import lombok.AllArgsConstructor;
import lombok.Getter;

public class SystemConstant {
    /**
     * 系统参数配置
     */
    public static final String SYS_CONF_VAR = "SYS_CONF";
    /**
     * 自动登录
     */
    public static final String AUTO_LOGIN_TAG = "atlg";
    /**
     * UTF-8
     */
    public static final String ENCODING_UTF8="UTF-8";
    /**
     * 默认分表数
     */
    public static final Integer DEFAULT_TABLE_COUNT = 4;

    @AllArgsConstructor
    @Getter
    public enum Delete{
        NOT("0","未删除"),YES("1","已删除");
        String value;
        String desc;
    }
    @AllArgsConstructor
    @Getter
    public enum IsDefault{
        NOT("0","非"),YES("1","是");
        String value;
        String desc;
    }

    @AllArgsConstructor
    @Getter
    public enum Lang{
        CHINA("zh","中国"),ITALIA("it","意大利");
        String value;
        String desc;
    }
    @AllArgsConstructor
    @Getter
    public enum SiteStatus{
        READ_ONLY(2,"只读模式不允许提交数据"),CLOSE(3,"全站关闭");
        Integer value;
        String desc;
    }
    @AllArgsConstructor
    @Getter
    public enum LayoutType{
        DEFAULT_PAGE(1,"默认页"),BLANK_PAGE(4,"空白页"),PUBLIC_REF_NEW_PAGE(5,"公共页(生成新引用页)"), PUBLIC_REF_VALUE_PAGE(6,"公共页(引用版块值)"), SITE_MENU_PAGE(7,"站点栏目详细页");
        Integer value;
        String desc;
    }
    @AllArgsConstructor
    @Getter
    public enum TemplateTag{
        INCLUDE("action"),FUNCTION("parameter"),OBJECT("action");
        String label;
    }
    @AllArgsConstructor
    @Getter
    public enum InvokeMethod{
        INVOKE_CODE(1,"引用代码"),INVOKE_OBJECT(2,"调用对象");
        int value;
        String desc;
    }
    @AllArgsConstructor
    @Getter
    public enum DisplayType{
        DISPLAY_MONOLAYER("monolayer","单层"), DISPLAY_COLLECTION("collection","集合"),DISPLAY_PAGE("page","分页"),DISPLAY_ENTITYBEAN("entityBean","实体对象");
        String value;
        String desc;
    }
    @AllArgsConstructor
    @Getter
    public enum UserResourceType {
        USER_RESOURCE_DIRECT(10, "直接提交"), USER_RESOURCE_DIRECT_PRE(20, "标签控制的权限");
        Integer value;
        String desc;
    }
    @AllArgsConstructor
    @Getter
    public enum ReturnData{
        RETURN_HTML(0,"html"),RETURN_JSON(1,"JSON");
        Integer value;
        String desc;
    }
    /** 支付模块 1.订单支付   5.用户充值 6.账户提现
    70.余额购买话题隐藏内容 80.解锁话题隐藏内容分成 90.悬赏金额 100.采纳答案 110.调整赏金 120.话题发红包 130.话题收红包 140.话题返还红包 **/
    @AllArgsConstructor
    @Getter
    public enum PaymentModule{
        PAYMENT_ORDER(1,"订单支付"),PAYMENT_RECHARGE(5,"用户充值"),PANYMENT_CASH(6,"账户提现"),
        PAYMENT_HIDDEN_TOPIC(70,"余额购买话题隐藏内容"),PAYMENT_UNLOCK_CONTENT(80,"解锁话题隐藏内容分成"),
        PAYMENT_GIVE_MONEY(90,"悬赏金额"),PAYMENT_UP_ANSWER(100,"采纳答案"), PAYMENT_MODIFY_GIVE_MONEY(110,"调整赏金"),
        PAYMENT_TOPIC_GIVE_REDPACK(120,"话题发红包"), PAYMENT_TOPIC_RECEIVE_REDPACK(130,"话题收红包"),
        PAYMENT_TOPIC_REBACK_REDPACK(140,"话题返还红包");
        Integer value;
        String desc;
    }
    /** 金额状态  1:账户存入  2:账户支出 **/
    @AllArgsConstructor
    @Getter
    public enum AmountState{
        AMOUNT_IN(1,"账户存入"),AMOUNT_OUT(2,"账户支出");
        Integer value;
        String desc;
    }
}
